home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / gnu / glibc108.zip / glibc108 / sysdeps / unix / sysv / sysv_termio.h < prev    next >
C/C++ Source or Header  |  1992-04-10  |  4KB  |  156 lines

  1. /* Copyright (C) 1992 Free Software Foundation, Inc.
  2. This file is part of the GNU C Library.
  3.  
  4. The GNU C Library is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU Library General Public License as
  6. published by the Free Software Foundation; either version 2 of the
  7. License, or (at your option) any later version.
  8.  
  9. The GNU C Library is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12. Library General Public License for more details.
  13.  
  14. You should have received a copy of the GNU Library General Public
  15. License along with the GNU C Library; see the file COPYING.LIB.  If
  16. not, write to the Free Software Foundation, Inc., 675 Mass Ave,
  17. Cambridge, MA 02139, USA.  */
  18.  
  19. /* In various parts of this file we define the System V values for
  20.    things as _SYSV_<whatever>.  Those are the values that System V
  21.    uses for termio, and also (SVR4) termios.  Not necessarily the
  22.    same as the GNU termios that the library user sees.  */
  23.  
  24. /* Number of elements of c_cc.  termio only.  */
  25. #define _SYSV_NCC 8
  26.  
  27. #define _SYSV_VINTR 0
  28. #define _SYSV_VQUIT 1
  29. #define _SYSV_VERASE 2
  30. #define _SYSV_VKILL 3
  31. #define _SYSV_VEOF 4
  32. /* This field means VEOF if ICANON, VMIN if not.  */
  33. #define _SYSV_VMIN 4
  34. #define _SYSV_VEOL 5
  35. /* This field means VEOL if ICANON, VTIME if not.  */
  36. #define _SYSV_VTIME 5
  37. #define _SYSV_VEOL2 6
  38.  
  39. /* Flags in c_iflag.  */
  40. #define _SYSV_IGNBRK 1
  41. #define _SYSV_BRKINT 2
  42. #define _SYSV_IGNPAR 4
  43. #define _SYSV_PARMRK 8
  44. #define _SYSV_INPCK 0x10
  45. #define _SYSV_ISTRIP 0x20
  46. #define _SYSV_INLCR 0x40
  47. #define _SYSV_IGNCR 0x80
  48. #define _SYSV_ICRNL 0x100
  49. #define _SYSV_IUCLC 0x200
  50. #define _SYSV_IXON 0x400
  51. #define _SYSV_IXANY 0x800
  52. #define _SYSV_IXOFF 0x1000
  53. #define _SYSV_IMAXBEL 0x2000
  54.  
  55. /* Flags in c_cflag.  */
  56. #define _SYSV_CBAUD 0xf
  57. #define _SYSV_CIBAUD 0xf0000    /* termios only.  */
  58. #define _SYSV_IBSHIFT 16
  59. /* Values for CBAUD and CIBAUD.  */
  60. #define _SYSV_B0 0
  61. #define _SYSV_B50 1
  62. #define _SYSV_B75 2
  63. #define _SYSV_B110 3
  64. #define _SYSV_B134 4
  65. #define _SYSV_B150 5
  66. #define _SYSV_B200 6
  67. #define _SYSV_B300 7
  68. #define _SYSV_B600 8
  69. #define _SYSV_B1200 9
  70. #define _SYSV_B1800 10
  71. #define _SYSV_B2400 11
  72. #define _SYSV_B4800 12
  73. #define _SYSV_B9600 13
  74. #define _SYSV_B19200 14
  75. #define _SYSV_B38400 15
  76.  
  77. #define _SYSV_CS5 0
  78. #define _SYSV_CS6 0x10
  79. #define _SYSV_CS7 0x20
  80. #define _SYSV_CS8 0x30
  81. #define _SYSV_CSIZE 0x30
  82. #define _SYSV_CSTOPB 0x40
  83. #define _SYSV_CREAD 0x80
  84. #define _SYSV_PARENB 0x100
  85. #define _SYSV_PARODD 0x200
  86. #define _SYSV_HUPCL 0x400
  87. #define _SYSV_CLOCAL 0x800
  88.  
  89. /* Flags in c_lflag.  */
  90. #define _SYSV_ISIG 1
  91. #define _SYSV_ICANON 2
  92. #define _SYSV_ECHO 8
  93. #define _SYSV_ECHOE 0x10
  94. #define _SYSV_ECHOK 0x20
  95. #define _SYSV_ECHONL 0x40
  96. #define _SYSV_NOFLSH 0x80
  97. #define _SYSV_TOSTOP 0x100
  98. #define _SYSV_ECHOCTL 0x200
  99. #define _SYSV_ECHOPRT 0x400
  100. #define _SYSV_ECHOKE 0x800
  101. #define _SYSV_FLUSHO 0x2000
  102. #define _SYSV_PENDIN 0x4000
  103. #define _SYSV_IEXTEN 0x8000
  104.  
  105. /* Flags in c_oflag.  */
  106. #define _SYSV_OPOST 1
  107. #define _SYSV_OLCUC 2
  108. #define _SYSV_ONLCR 4
  109. #define _SYSV_NLDLY 0x100
  110. #define _SYSV_NL0 0
  111. #define _SYSV_NL1 0x100
  112. #define _SYSV_CRDLY 0x600
  113. #define _SYSV_CR0 0
  114. #define _SYSV_CR1 0x200
  115. #define _SYSV_CR2 0x400
  116. #define _SYSV_CR3 0x600
  117. #define _SYSV_TABDLY 0x1800
  118. #define _SYSV_TAB0 0
  119. #define _SYSV_TAB1 0x0800
  120. #define _SYSV_TAB2 0x1000
  121. /* TAB3 is an obsolete name for XTABS.  But we provide it since some
  122.    programs expect it to exist.  */
  123. #define _SYSV_TAB3 0x1800
  124. #define _SYSV_XTABS 0x1800
  125. #define _SYSV_BSDLY 0x2000
  126. #define _SYSV_BS0 0
  127. #define _SYSV_BS1 0x2000
  128. #define _SYSV_VTDLY 0x4000
  129. #define _SYSV_VT0 0
  130. #define _SYSV_VT1 0x4000
  131. #define _SYSV_FFDLY 0x8000
  132. #define _SYSV_FF0 0
  133. #define _SYSV_FF1 0x8000
  134.  
  135. /* ioctl's.  */
  136.  
  137. #define _TCGETA 0x5401
  138. #define _TCSETA 0x5402
  139. #define _TCSETAW 0x5403
  140. #define _TCSETAF 0x5404
  141. #define _TCSBRK 0x5405
  142. #define _TCXONC 0x5406
  143. #define _TCFLSH 0x5407
  144. #define _TIOCGPGRP 0x7414
  145. #define _TIOCSPGRP 0x7415
  146.  
  147. struct __sysv_termio
  148.   {
  149.     unsigned short c_iflag;
  150.     unsigned short c_oflag;
  151.     unsigned short c_cflag;
  152.     unsigned short c_lflag;
  153.     char c_line;
  154.     unsigned char c_cc[_SYSV_NCC];
  155.   };
  156.